package com.dkh.recommend.controller;

import com.dkh.recommend.dto.Result;
import com.dkh.recommend.service.RecommendService;
import io.swagger.annotations.Api;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Slf4j
@Api(value = "推荐", tags = "推荐-相关", description="推荐-相关")
@RequestMapping("/recommend")
public class RecommendController {

    @Autowired
    private RecommendService recommendService;



//    (喜欢推荐)根据用户最近加入播放列表的音乐进行推荐(ItemCF)
    @GetMapping("/lastplaylist/rec")
    public Result LastPlayListRce(){
        return recommendService.LastPlayListRce();
    }

//    （有缘）根据用户兴趣相似用户的喜欢音乐推荐（UserCF）
    @GetMapping("/lastfollow/rec")
    public Result LastFollowRce(){
        return recommendService.LastFollowRce();
    }


//    根据最近关注的共同好友的用户播放队列进行推荐
   @GetMapping("/common/follow/playlist")
    public Result CommonFollowPlayListRec(){
        return recommendService.CommonFollowPlayListRec();
   }

    //    根据当前关注的用户播放队列进行推荐
    @GetMapping("/followplaylist")
    public Result FollowPlayListRec(){
        return recommendService.FollowPlayListRec();
    }

//    todo 根据用户关注用户协同过滤算法推荐



    //    todo 根据标签的协同过滤算法推荐

}
